
10.8. Exercices Chapitre 10. Plus sur les chaînes de caractères
1>>> maliste = [" A", 5, " G "]
2>> > " ". j oin ( mal iste )
3Tra ce back ( most rec ent call l ast ):
4File " < stdin >" , line 1, in <module >
5Typ eErr or : sequ ence item 1: expect ed string , int found
On espère qu’après ce petit tour d’horizon vous serez convaincu de la richesse des méthodes associées aux chaînes de
caractères. Pour avoir une liste exhaustive de l’ensemble des méthodes associées à une variable particulière, vous pouvez
utiliser la fonction dir().
1>> > animaux = " gir afe tigre "
2>> > di r ( an im aux )
3['__add__ ','__class__ ','__contains__ ','__delattr__ ','__dir__ ',
4'__doc__ ','__eq__ ','__format__ ','__ge__ ','__getattribute__ ','_
5_getitem__ ','__getnewargs__ ','__gt__ ','__hash__ ','__init__ ','_
6_init_subclass__ ','__iter__ ','__le__ ','__len__ ','__lt__ ','__mo
7d__ ','__mul__ ','__ne__ ','__new__ ','__reduce__ ','__reduce_ex__ '
8,'__repr__ ','__rmod__ ','__rmul__ ','__setattr__ ','__sizeof__ ',
9'__str__ ','__subclasshook__ ','capitalize ','casefold ','center ',
10 'count ','encode ','endswith ','expandtabs ','find ','format ','for
11 mat_map ','index ','isalnum ','isalpha ','isdecimal ','isdigit ','i
12 sidentifier ','islower ','isnumeric ','isprintable ','isspace ','is
13 title ','isupper ','join ','ljust ','lower ','lstrip ','maketrans ',
14 'partition ','replace ','rfind ','rindex ','rjust ','rpartition ',
15 'rsplit ','rstrip ','split ','splitlines ','startswith ','strip ',
16 'swapcase ','title ','translate ','upper ','zfill ']
Pour l’instant, vous pouvez ignorer les méthodes qui commencent et qui se terminent par deux tirets bas (underscores)__.
Vous pouvez également accéder à l’aide et à la documentation d’une méthode particulière avec help(), par exemple pour
la méthode .split() :
1>> > help ( animaux . split )
2Help on built - in fu ncti on split :
3
4split (...)
5S. sp lit ([ sep [ , ma xspl it ]]) -> list of strings
6
7Return a list of the words in the string S, using sep as the
8delimiter string . If maxsplit is given , at most maxsplit
9splits are done . If sep is not specified or is None , any
10 whi tesp ace strin g is a se parator .
11 ( END )
Attention à ne pas mettre les parenthèses à la suite du nom de la méthode. L’instruction correcte est help(animaux.split)
et non pas help(animaux.split()).
10.8 Exercices
Conseil : pour ces exercices, créez des scripts puis exécutez-les dans un shell.
10.8.1 Parcours d’une liste de chaînes de caractères
Soit la liste ['girafe','tigre','singe','souris']. Avec une boucle, affichez chaque élément ainsi que sa taille
(nombre de caractères).
10.8.2 Lecture d’une séquence à partir d’un fichier FASTA
Le fichier UBI4_SCerevisiae.fasta 5contient une séquence d’ADN au format FASTA.
Créez une fonction lit_fasta() qui prend comme argument le nom d’un fichier FASTA sous la forme d’une chaîne de
caractères, lit la séquence dans le fichier FASTA et la renvoie sous la forme d’une chaîne de caractères.
Utilisez ensuite cette fonction pour récupérer la séquence d’ADN dans la variable sequence puis pour afficher les infor-
mations suivantes :
— le nom du fichier FASTA,
— la longueur de la séquence (c’est-à-dire le nombre de bases qu’elle contient),
— un message vérifiant que le nombre de base est (ou non) un multiple de 3,
— le nombre de codons (on rappelle qu’un codon est un bloc de 3 bases),
5. https://python.sdv.univ-paris-diderot.fr/data-files/UBI4_SCerevisiae.fasta
Cours de Python / Université Paris Cité / UFR Sciences du Vivant 83